From: Keir Fraser Date: Tue, 21 Dec 2010 18:09:34 +0000 (+0000) Subject: x86 hvm ept: Remove EPT guest linear address validation X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=aefe867d3f758a8ddd608849bc381dcbd7c4db20;p=xen.git x86 hvm ept: Remove EPT guest linear address validation For EPT violation resulting from an attempt to load the guest PDPTEs as part of the execution of the MOV CR instruction, the EPT_GLA_VALID is not valid. This situation should not happen in most situation, since we always populate guest memory. But this is not ture for PAE guest under the PoD/Page sharing situation. In that situation, a page pointed by CR3 may be un-populated, and we need handle it in such situation. Signed-off-by: Jiang, Yunhong --- diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index f89428d60e..b4c8570503 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -2079,8 +2079,7 @@ static void ept_handle_violation(unsigned long qualification, paddr_t gpa) __trace_var(TRC_HVM_NPF, 0, sizeof(_d), &_d); } - if ( (qualification & EPT_GLA_VALID) && - hvm_hap_nested_page_fault(gfn) ) + if ( hvm_hap_nested_page_fault(gfn) ) return; /* Everything else is an error. */